\hypertarget{class_zebulon_1_1_n_m_e_a_1_1_message}{
\section{Zebulon::NMEA::Message Class Reference}
\label{class_zebulon_1_1_n_m_e_a_1_1_message}\index{Zebulon::NMEA::Message@{Zebulon::NMEA::Message}}
}


\hyperlink{class_zebulon_1_1_n_m_e_a_1_1_message}{Message} class for creating \hyperlink{namespace_n_m_e_a}{NMEA} message structures.  


{\ttfamily \#include $<$message.h$>$}Inheritance diagram for Zebulon::NMEA::Message::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2cm]{class_zebulon_1_1_n_m_e_a_1_1_message}
\end{center}
\end{figure}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \hyperlink{class_zebulon_1_1_n_m_e_a_1_1_message_1_1_time}{Time}
\begin{DoxyCompactList}\small\item\em \hyperlink{class_zebulon_1_1_n_m_e_a_1_1_message_1_1_time}{Time} structure for logging when a message was created/generated. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class_zebulon_1_1_n_m_e_a_1_1_message_a014af8693080f47137629a01b774b03c}{
{\bfseries Message} (const Message::Type type, const std::string \&header)}
\label{class_zebulon_1_1_n_m_e_a_1_1_message_a014af8693080f47137629a01b774b03c}

\item 
\hypertarget{class_zebulon_1_1_n_m_e_a_1_1_message_a825967dc697e9d9b2860feb55d90b2c1}{
virtual int {\bfseries GetPosition} (CxUtils::Wgs \&pos) const =0}
\label{class_zebulon_1_1_n_m_e_a_1_1_message_a825967dc697e9d9b2860feb55d90b2c1}

\item 
\hypertarget{class_zebulon_1_1_n_m_e_a_1_1_message_a0af04dc23a94c9890ea44452babfe705}{
virtual int {\bfseries GetUTC} (double \&utc) const =0}
\label{class_zebulon_1_1_n_m_e_a_1_1_message_a0af04dc23a94c9890ea44452babfe705}

\item 
\hypertarget{class_zebulon_1_1_n_m_e_a_1_1_message_abfe1101858b343bcd0929a3408aae2a1}{
virtual unsigned int {\bfseries Write} (CxUtils::Packet \&msg) const =0}
\label{class_zebulon_1_1_n_m_e_a_1_1_message_abfe1101858b343bcd0929a3408aae2a1}

\item 
\hypertarget{class_zebulon_1_1_n_m_e_a_1_1_message_ae01dd3d2205df0b1b0c9b0c79f0921e2}{
virtual unsigned int {\bfseries Read} (const CxUtils::Packet \&msg)=0}
\label{class_zebulon_1_1_n_m_e_a_1_1_message_ae01dd3d2205df0b1b0c9b0c79f0921e2}

\item 
\hypertarget{class_zebulon_1_1_n_m_e_a_1_1_message_a5697f97118355805fdac64bd185ee007}{
virtual \hyperlink{class_zebulon_1_1_n_m_e_a_1_1_message}{Message} $\ast$ {\bfseries Clone} () const =0}
\label{class_zebulon_1_1_n_m_e_a_1_1_message_a5697f97118355805fdac64bd185ee007}

\item 
\hypertarget{class_zebulon_1_1_n_m_e_a_1_1_message_a68e465ce4c270aeecfd554866479ed80}{
void {\bfseries SetMessageTimeStamp} (const \hyperlink{class_zebulon_1_1_n_m_e_a_1_1_message_1_1_time}{Message::Time} t)}
\label{class_zebulon_1_1_n_m_e_a_1_1_message_a68e465ce4c270aeecfd554866479ed80}

\item 
\hypertarget{class_zebulon_1_1_n_m_e_a_1_1_message_aece3de0e2c02713543fbd796cb446576}{
virtual void {\bfseries Print} () const }
\label{class_zebulon_1_1_n_m_e_a_1_1_message_aece3de0e2c02713543fbd796cb446576}

\item 
\hypertarget{class_zebulon_1_1_n_m_e_a_1_1_message_a7a0d7434e96b223b1faf816413959727}{
\hyperlink{class_zebulon_1_1_n_m_e_a_1_1_message_1_1_time}{Message::Time} {\bfseries GetMessageTimeStamp} () const }
\label{class_zebulon_1_1_n_m_e_a_1_1_message_a7a0d7434e96b223b1faf816413959727}

\item 
\hypertarget{class_zebulon_1_1_n_m_e_a_1_1_message_ab7d001a71489c714dea39e258bf19b95}{
Message::Type {\bfseries GetType} () const }
\label{class_zebulon_1_1_n_m_e_a_1_1_message_ab7d001a71489c714dea39e258bf19b95}

\item 
\hypertarget{class_zebulon_1_1_n_m_e_a_1_1_message_a722308e2b0d324025162fb623b7444a5}{
std::string {\bfseries GetHeader} () const }
\label{class_zebulon_1_1_n_m_e_a_1_1_message_a722308e2b0d324025162fb623b7444a5}

\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class_zebulon_1_1_n_m_e_a_1_1_message_a85623ed64bb7846c0a7a616931b85029}{
static int {\bfseries RunTestCase} ()}
\label{class_zebulon_1_1_n_m_e_a_1_1_message_a85623ed64bb7846c0a7a616931b85029}

\item 
\hypertarget{class_zebulon_1_1_n_m_e_a_1_1_message_ae12adb03d2a3a3fd899d0cb6018f0a65}{
static bool {\bfseries IsValidMessage} (const CxUtils::Packet \&msg)}
\label{class_zebulon_1_1_n_m_e_a_1_1_message_ae12adb03d2a3a3fd899d0cb6018f0a65}

\item 
\hypertarget{class_zebulon_1_1_n_m_e_a_1_1_message_ac339601899c5895cbda6f6cf79a824d2}{
static bool {\bfseries ExtractMessage} (const unsigned char $\ast$buff, const unsigned int len, CxUtils::Packet \&msg, std::string $\ast$header=NULL)}
\label{class_zebulon_1_1_n_m_e_a_1_1_message_ac339601899c5895cbda6f6cf79a824d2}

\item 
\hypertarget{class_zebulon_1_1_n_m_e_a_1_1_message_a86edfbb5574b9ff08d8265b7ff8aa3d9}{
static bool {\bfseries WriteChecksum} (CxUtils::Packet \&msg)}
\label{class_zebulon_1_1_n_m_e_a_1_1_message_a86edfbb5574b9ff08d8265b7ff8aa3d9}

\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class_zebulon_1_1_n_m_e_a_1_1_message_a02b5efdf5b79d9219634ee321eccd4b9}{
void {\bfseries CopyMessageData} (const \hyperlink{class_zebulon_1_1_n_m_e_a_1_1_message}{Message} $\ast$msg)}
\label{class_zebulon_1_1_n_m_e_a_1_1_message_a02b5efdf5b79d9219634ee321eccd4b9}

\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class_zebulon_1_1_n_m_e_a_1_1_message_ab66a063367229de9b9915c6246f6e6e8}{
\hyperlink{class_zebulon_1_1_n_m_e_a_1_1_message_1_1_time}{Time} \hyperlink{class_zebulon_1_1_n_m_e_a_1_1_message_ab66a063367229de9b9915c6246f6e6e8}{mTimeStamp}}
\label{class_zebulon_1_1_n_m_e_a_1_1_message_ab66a063367229de9b9915c6246f6e6e8}

\begin{DoxyCompactList}\small\item\em \hyperlink{class_zebulon_1_1_n_m_e_a_1_1_message_1_1_time}{Time} of message creation. \item\end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
\hyperlink{class_zebulon_1_1_n_m_e_a_1_1_message}{Message} class for creating \hyperlink{namespace_n_m_e_a}{NMEA} message structures. Methods you must overload are:\par
 GetPosition -\/ If the message has World Geodetic Systems (WGS) position data return 1, and save values to Wgs structure. If not supported, return 0.\par
 Write -\/ Write data members to a Packet in the correct \hyperlink{namespace_n_m_e_a}{NMEA} format.\par
 Read -\/ Read data in supported \hyperlink{namespace_n_m_e_a}{NMEA} format and save to internal data members.\par
 GetUTC -\/ If message has UTC data, then return 1 and copy to input parameter, otherwise return 0. Clone -\/ Make a copy of your message and return pointer to it. \par


Optional methods to overload:\par
 RunTestCase -\/ Perform a test of your message class. Return 1 on success and 0 on failure.\par
 

The documentation for this class was generated from the following file:\begin{DoxyCompactItemize}
\item 
C:/Users/Matt/Documents/School/Robotics/zebulon/v2/nmea/include/nmea/message.h\end{DoxyCompactItemize}
